Method of operating a brushless DC motor

ABSTRACT

Methods and devices for brushless DC motor operation. An example method may include using previously sensed Hall effect sensor transitions to predict a future Hall effect transition, and dividing a time between a most recent Hall effect sensor transition and the predicted Hall effect sensor transition into time increments. The time increments may be used to effect phase advance by selecting a number of time increments to create a time offset for phase advance purposes. The time increments may also be used as a virtual encoder. Devices incorporating controllers and control circuitry for performing like methods are also discussed.

FIELD

The present invention is related to the field of electric motors. Moreparticularly, the present invention is related to brushless DC motors.

BACKGROUND

In a brushed DC motor, the brushes make mechanical contact with a set ofelectrical contacts provided on a commutator secured to an armature,forming an electrical circuit between the DC electrical source and coilwindings on the armature. As the armature rotates on an axis, thestationary brushes come into contact with different sections of therotating commutator. The commutator and brush system form a set ofelectrical switches that operate in sequence such that electrical powerflows through the armature coil that is closest to the stator, whichhouses stationary magnets creating forces relative to the coil windingsthat cause rotation.

A brushless DC motor makes use of control circuitry to operate switchesthat replace the combination of brushes and electrical contacts on thecommutator. While the control circuitry can add to the expense of thebrushless DC motor, the elimination of the brushes and commutatorreduces maintenance, as there is no wear on an associated brush, andprevents arcing in the motor that can occur as the commutator moves pastthe brushes. In some examples, a plurality of Hall effect sensors andmagnets are disposed on the rotor and armature, with the outputs of theHall effect sensors used to control current switching.

An example of a brushless DC motor appears in FIGS. 1A–1B. The motor 10,shown in cross section, includes an armature 12 and a rotor 14, withmagnets 16, 17 disposed on the rotor 14. Hall effect sensing elements 18are disposed on the armature 12 to sense the location of the magnets 16,17. Control circuitry 20 includes Hall interrupt detection block 22 thatis coupled to the Hall effect sensors 18 and generates an interrupt orother signal whenever one of the Hall effect sensors 18 transitions,indicating the rotation of the magnets 16, 17. When triggered, thedetection block 22 interacts with commutator state circuitry 24 tocontrol changing of the state of output switches 26. Using the outputswitches 26, the control circuitry 20 can couple energy from line power28, which typically (though not necessarily) passes through a step-downtransformer 30 to the motor 10.

FIG. 1B shows a different cross section of the motor 10, with magnets16, 17 on the rotor 14, and three coil windings 32, 34, 36 on thearmature 12. Usually, during operation, two of the coil windings 32, 34will be activated while a third coil winding 36 will be grounded. FIG. 2illustrates the timing of operation. In FIG. 2, a trio of armature coilwindings are indicated as A, B, and C, with the state indicated by a “+”(driven by a voltage V), “−” (grounded) or “0” (open circuit).Alternatively, a dual power supply approach would have “+” be a signalof a first polarity, “−” be a signal of a second polarity, and “0”indicate that the winding is grounded. At each Hall effect sensorinterrupt 38, the commutator state is changed, and the current flowthrough two of the coil windings changes. Operation is furtherillustrated in FIG. 3, which shows operation during a run state. Asshown at 40, the control circuitry waits for a Hall effect sensorinterrupt or trigger, detects a transition of the output for one of theHall effect sensors, as shown at 42, and changes commutator state, asshown at 44. The control circuitry then returns to 40. Other tasks mayalso be performed, but the basic steps are shown. Refinement of thisprocess to improve efficiency and output actuation is desirable.

SUMMARY

The present invention, in a first illustrative embodiment, includes amethod of operating a brushless DC motor having a plurality of sensingelements for sensing rotor position with reference to an armature, therotor position changing to cause sensing events, the DC motor operatingby proceeding through a series of commutation states. The illustrativemethod may comprise extrapolating, using first and second most recentsensing events, a time for a third sensing event, and interpolating aplurality of time increments between the most recent sensing event andthe time for the third sensing event. In some embodiments, the steps ofextrapolating and interpolating provide data for a virtual encoderindicating rotor position. In some embodiments, the method furtherincludes selecting a time offset, the time offset being a number of timeincrements. The time offset may be used for providing a phase advance inthe brushless DC motor.

Another illustrative embodiment includes a brushless DC motor comprisingan armature having electric coils disposed relative thereto, a rotordisposed relative the armature and adapted to rotate relative to thearmature in response to a commutation sequence of electric signalsdelivered to the electric coils, a plurality of location sensors locatedrelative the rotor and the armature for sensing when the rotor is atselected angular positions relative to the armature, and controlcircuitry adapted to capture signals from the plurality of locationsensors and to selectively control the commutation sequence. The controlcircuitry may be adapted to determine a first time at which at least onelocation sensor indicates a change of rotor position and a second timeat which at least one location sensor indicates a next change of rotorposition, extrapolate a third time for a next change of rotor position,and interpolate a plurality of time increments between the third timeand the second time. The control circuitry may use the extrapolatedthird time, and the plurality of time increments, to operate as avirtual encoder indicating rotor position. The control circuitry may befurther adapted to select or define a time offset, the time offsetcomprising a number of the time increments. In some embodiments, thetime offset may be used to provide a phase advance for use in thecommutation sequence.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1A illustrates various parts of a typical brushless DC motor;

FIG. 1B shows, in cross section, a portion of a rotor/armature of abrushless DC motor including magnetic driving elements;

FIG. 2 is a timing chart for a brushless DC motor;

FIG. 3 shows, in block form, a method of operating a brushless DC motor;

FIG. 4 is a signal graph showing current lagging voltage when applied toa motor winding;

FIG. 5 is a block diagram for an illustrative method embodiment;

FIG. 6A is a timing chart showing an illustrative method ofextrapolation of a future position change in a DC brushless motor;

FIG. 6B is a timing chart showing interpolation of time increments afterextrapolation of a future position change in an illustrative method; and

FIG. 6C is a timing chart showing the effects of phase advance andcorrection of extrapolation in an illustrative method.

DETAILED DESCRIPTION

The following detailed description should be read with reference to thedrawings. The drawings, which are not necessarily to scale, depictillustrative embodiments and are not intended to limit the scope of theinvention.

As explained above with reference to FIGS. 1–3, a typical brushless DCmotor will make use of a plurality of windings disposed on an armatureto generate magnetic force causing the rotor to rotate. As shown in FIG.4, signal application to such windings is not ideal. Specifically, FIG.4 is a signal graph showing current lagging voltage when applied to amotor winding. Because the winding is inductive, current 52 will lag thevoltage signal 50, such that a voltage applied at a first time 54 willnot cause a desired level of current flow until a later time 56. Thetime at which magnetic forces reach their maximum is delayed, and is notachieved at an ideal physical juxtaposition of the rotor and armature.Particularly, at higher speeds, efficiency is reduced, causing areduction in output power.

One solution to this dilemma is to introduce a phase advance in theapplied voltage. By applying the voltage at an earlier time, the currentmay be introduced such that magnetic forces between the armature coilsand the rotor magnets coincide with physical positions of each that arecloser to ideal. Various systems for applying a phase advance range fromsimple to quite complex.

In some more complicated (and, often, expensive) motors, an encoder iscoupled to the shaft along with an optical element for reading theencoder. By use of the encoder, the rotor position can be calculated atall times. The use of the encoder then allows for application ofsinusoidal driving signals instead of the simple block signals describedwith reference to FIGS. 2 and 4.

FIG. 5 is a block diagram for an illustrative method of the presentinvention. The illustrative method beings with a change in commutatorstate, as shown at 70. After the commutator state is changed at 70, atimer is reset, as shown at 72. A time for a next Hall effect sensorstate change is then estimated. For example, given a first time that haselapsed between two (or more) most recent Hall effect sensor statechanges, it may be estimated that a second time, sometimes equal to thefirst time, will elapse before a next Hall effect sensor state change.

Next, a plurality of time increments are created, as shown at 76. Thetime increments divide the time between a most recent Hall effect sensorstate change and an estimated time for a next Hall effect sensor change.In some embodiments, the time increments may be equally sized, but thisis not required. In an illustrative example, eight time increments arecreated. In other examples, four-to-forty-eight time increments may bedefined, though other numbers of time increments may be defineddepending upon various factors such as system timer capacity and desiredresolution.

Next, as shown at 78, a phase advance is selected. In an illustrativeembodiment, the phase advance is selected as an integer number of timeincrements, but this is not required. The phase advance may vary inamplitude depending upon the speed of the motor, and may vary in signdepending upon the direction the motor is spinning. For example, thefollowing are illustrative for a system in which eight time incrementsare defined:

For Angular Velocity (AV)<−1500 rpm, phase advance=−8

For −1500<=AV<−900 rpm, phase advance=−6

For −900<=AV<−600 rpm, phase advance=−5

For −600<=AV<−300 rpm, phase advance=−4

For −300<=AV<−150 rpm, phase advance=−2

For −150<=AV<150 rpm, phase advance=0

For 150<=AV<300 rpm, phase advance=2

For 300<=AV<600 rpm, phase advance=4

For 600<=AV<900 rpm, phase advance=5

For 900<=AV<1500 rpm, phase advance=6

For 1500<=AV, phase advance=8

The scales may vary depending on particular device size, structure andperformance. After the phase advance is selected, the method waits forthe estimated time of change less a time offset calculated from thephase advance, as noted at 80. When the time of change less the timeoffset is reached, the method recycles by changing commutator state, asshown at 70. Alternatively, the method may include providing aninterrupt if there is a Hall effect sensor change, as shown at 82. Thismay occur, for example, if the motor is accelerating due to an increasein applied voltage.

FIG. 6A is a timing chart showing an illustrative method ofextrapolation of a future position change in a DC brushless motor.Outputs are shown for Hall effect sensors A, B, C, with the chart takinginto account a current time, t1, and showing a past time, t2. Times t1and t2 are defined because Hall effect sensors A and C, respectively,changed outputs at those times. An estimated time for a next Hall effectsensor transition, te, is also shown. The predicted or estimated time teis shown occurring after a duration of time, X, that is, in theillustrative example, equal to the duration of time between t1 and t2.If the motor is accelerating or decelerating, this may be accounted forby adjusting the duration of time, X, by decreasing X (if accelerating)or increasing X (if decelerating).

FIG. 6B is a timing chart showing interpolation of time increments afterextrapolation of a future position change in an illustrative method. Ascan be seen, the duration of time, X, from FIG. 6A has been divided intoa number of time increments 102. The time increments 102 may be of equalduration, but this is not required. While twelve time increments 102 areshown in FIG. 6B, any other suitable number of time increments may bedefined.

FIG. 6C is a timing chart showing the effects of phase advance andcorrection of extrapolation in an illustrative method. A number of timeincrements are shown at 104, leading up to the estimated time, te, ofthe next Hall effect sensor transition. A number of time increments 106have been selected as a time offset to provide phase advance. It can beseen from voltage signal 110 that the voltage applied to one or more ofthe coils used in the associated electric motor is changed at a timepreceeding te by the selected time increments 106. The result is shownby line 112, which, schematically, represents the current flow that lagsthe voltage 110. Because of the phase advance, the current 112 reachesits maximum level at approximately te.

While te was the estimated time of a next Hall effect sensor transition,the actual time of such a transition can be seen at 108. The use of anestimated time of transition may introduce some error. However, asindicated above in the illustrative method of FIG. 5, the error may bereset to zero after each step in the commutation sequence by startingover with a new estimated time of a next Hall effect sensor transitionbased on previous sensed transitions.

The use of the extrapolation and interpolation operates to allow avirtual encoder. Specifically, the rotor position can be “known” orestimated at many positions, rather than just the six commutation cyclepositions. This additional data may then be used to provide a sinusoidaldriving signal without requiring the expense and mechanical difficultyof adding an encoder and optical or other encoder readers.

Those skilled in the art will recognize that the present invention maybe manifested in a variety of forms other than the specific embodimentsdescribed and contemplated herein. Accordingly, departures in form anddetail may be made without departing from the scope and spirit of thepresent invention as described in the appended claims.

1. A method of operating a brushless DC motor having a plurality ofsensing elements for sensing rotor position with reference to anarmature, the rotor position changing to cause sensing events, the DCmotor operating by proceeding through a series of commutation states,the method comprising: extrapolating, using first and second most recentsensing events, a time for a third sensing event; and interpolating aplurality of time increments between the most recent sensing event andthe time for the third sensing event.
 2. The method of claim 1 wherein asensing event occurs when a first magnetic element disposed on the rotorpasses from a first position in which it is adjacent a first coildisposed on the armature to a second position in which the firstmagnetic element and the first coil are no longer disposed adjacent oneanother.
 3. The method of claim 1 further comprising selecting a timeoffset by selecting a number of time increments.
 4. The method of claim3 further comprising using the time offset to perform a phase advancewhile advancing through the sequence of commutation states.
 5. Themethod of claim 3 wherein the step of selecting a time offset isperformed such that, at greater motor speeds, a greater time offset isselected.
 6. The method of claim 1 further comprising using theinterpolated time increments to operate as a virtual encoder, andapplying a sinusoidal drive signal to the brushless DC motor.
 7. Amethod of estimating a position of a rotating element of a brushless DCmotor having an armature and a rotor, the method comprising: providing aplurality of sensors for sensing the position of the rotor, the sensorssensing relative motion between the sensors and one or more sensedelements, wherein one of the plurality of sensors or the one or moresensed elements is disposed relative the rotor and the other is disposedrelative the armature; observing a first time at which the rotor is in aposition relative the armature as indicated by a changing output of atleast one of the plurality of sensors; observing a second time, afterthe first time, at which the rotor is in a position relative thearmature as indicated by a changing output of at least one of theplurality of sensors; extrapolating, from the positions of the rotor atthe first time and the second time, a likely position for the rotor at athird time; and defining, between the third time and the second time, aplurality of time increments, wherein rotor position is estimatedbetween the second time and the third time by reference to the pluralityof time increments.
 8. The method of claim 7 wherein the motor operatesusing a commutation sequence, and the third time is calculated such thatthe likely position of the rotor is a position in which a change occursrelative to the commutation sequence.
 9. The method of claim 7 furthercomprising performing a step in the commutation sequence at the thirdtime.
 10. The method of claim 7 further comprising selecting a timeoffset, the time offset being a number of time increments.
 11. Themethod of claim 10 further comprising performing a step in thecommutation sequence using the time offset to provide a phase advancefunction.
 12. The method of claim 10 wherein the time offset includes agreater number of time increments when the rotor has a greater angularvelocity than when the rotor has a lesser angular velocity.
 13. Themethod of claim 7 further comprising providing a sinusoidal drivevoltage by using the plurality of time increments to estimate rotorposition as a virtual encoder.
 14. A brushless DC motor comprising: anarmature having electric coils disposed relative thereto; a rotordisposed relative the armature and adapted to rotate relative to thearmature in response to a commutation sequence of electric signalsdelivered to the electric coils; a plurality of location sensors locatedrelative the rotor and the armature for sensing when the rotor is atselected angular positions relative to the armature; and controlcircuitry adapted to capture signals from the plurality of locationsensors and selectively control the commutation sequence; wherein thecontrol circuitry is adapted to: determine a first time at which atleast one location sensor indicates a change of rotor position and asecond time at which at least one location sensor indicates a nextchange of rotor position; extrapolate a third time for a next change ofrotor position; and interpolate a plurality of time increments betweenthe third time and the second time.
 15. The motor of claim 14 whereinthe control circuitry is also adapted to select a time offset comprisinga number of the time increments.
 16. The motor of claim 15 wherein thetime offset comprises a greater number of the time increments when therotor is moving at a greater angular velocity than when the rotor ismoving at a lesser angular velocity.
 17. The motor of claim 16 whereinthe control circuitry performs steps to advance the commutation sequenceat a time separated from the third time by the timer offset.
 18. Themotor of claim 16 wherein the control circuitry performs steps to usethe timer offset to perform a phase advance function.
 19. The motor ofclaim 15 wherein the control circuitry performs steps to advance thecommutation sequence at a time separated from the third time by thetimer offset.
 20. The motor of claim 14 wherein the control circuitry isadapted to use the defined time increments to perform virtual encodingof rotor position and provide a sinusoidal driving signal.